// 用户先登录，登录成功之后拿到token，然后再保存token到本地

import 'dart:io';

void main() async {
  try {
    // 1. 登录
    final token = await login(userName: 'zhangsan', password: '123456');
    print('登录成功, token: $token');

    // 2. 获取用户信息
    final userInfo = await getUserInfo(token: token);
    print('用户信息: $userInfo');

    // 3. 保存用户信息
    await saveUserInfo(userInfo: userInfo);
    print('保存用户信息成功');
  } catch (e) {
    print(e);
  }
}

// 1. 登录
Future<String> login({required String userName, required String password}) {
  return Future(() {
    sleep(Duration(seconds: 2));
    return "2121jhjwqjwq";
  });
}

// 2. 获取用户信息
Future<Map> getUserInfo({required String token}) {
  return Future(() {
    sleep(Duration(seconds: 2));
    return {"userName": "张三", "age": 18};
  });
}

// 3. 保存用户信息
Future<void> saveUserInfo({required Map userInfo}) {
  return Future(() {
    sleep(Duration(seconds: 2));
  });
}
